// Package main
// Created by GoLand
// @User: lenora
// @Date: 2023/11/22
// @Time: 21:55

package main

import "fmt"

func loopTips() {
	users := []User{
		{name: "Tom"},
		{name: "Jerry"},
	}

	mp := make(map[string]*User)
	//此时的x的地址是一开始就被确定下来的,每次迭代时值虽然不一样,但地址一直是同一个
	for _, x := range users {
		//此时使用了取地址的操作,那么mp中所有key的value指向的位置是同一个,最终值全部相同
		mp[x.name] = &x
	}
	for i, x := range mp {
		fmt.Printf("name:%s,web:%v\n", i, x)
	}
	//输出:
	//name:Tom,web:&{Jerry}
	//name:Jerry,web:&{Jerry}
}

type User struct {
	name string
}
